package com.qire.common.widget.adapter.auto;

/**
 * 自动适配器嵌套事件传递接收器，如果一个summer系列的适配器种元素子布局中嵌套包含了另一个summer系列适配器，
 * 则可以在对应希望处理的子 元素Variable 中实现这个接口。上层适配器会检测子元素是否实现该接口并决定是否需要传递事件处理对象给子元素。
 * 事件处理对象会通过 {@link EventReceiver#onReceiver onReceiver} 方法传递。
 * <pre><code>
 *     EventReceiver eventReceiver = ObjectUtil.as(data, EventReceiver.class);
 *     if(ObjectUtil.nonNull(eventReceiver)) {
 *         eventReceiver.onReceiver(eventProcess);
 *     }
 * </code></pre>
 */
public interface EventReceiver {
    /**
     * 如果深度嵌套的需要处理事件绑定，完成该方法完成事件处理的绑定传递。
     * @param eventProcess 事件处理器
     */
    void onReceiver(AutoVariable eventProcess);
}
